package gob.pgr.xml;

import java.lang.reflect.Field;
import java.util.Date;

import com.thoughtworks.xstream.annotations.XStreamAlias;

public class Persona {
	@XStreamAlias("primer-nombre")
	private String primerNombre;
	@XStreamAlias("segundo-nombre")
	private String segundoNombre;
	@XStreamAlias("primer-apellido")
	private String primerApellido;
	@XStreamAlias("segundo-apellido")
	private String segundoApellido;
	private int edad;
	@XStreamAlias("fecha-nacimiento")
	private Date fechaNacimiento;
	private double estatura;

	public String getPrimerNombre() {
		return primerNombre;
	}

	public void setPrimerNombre(String primerNombre) {
		this.primerNombre = primerNombre;
	}

	public String getSegundoNombre() {
		return segundoNombre;
	}

	public void setSegundoNombre(String segundoNombre) {
		this.segundoNombre = segundoNombre;
	}

	public String getPrimerApellido() {
		return primerApellido;
	}

	public void setPrimerApellido(String primerApellido) {
		this.primerApellido = primerApellido;
	}

	public String getSegundoApellido() {
		return segundoApellido;
	}

	public void setSegundoApellido(String segundoApellido) {
		this.segundoApellido = segundoApellido;
	}

	public int getEdad() {
		return edad;
	}

	public void setEdad(int edad) {
		this.edad = edad;
	}

	public Date getFechaNacimiento() {
		return fechaNacimiento;
	}

	public void setFechaNacimiento(Date fechaNacimiento) {
		this.fechaNacimiento = fechaNacimiento;
	}

	public double getEstatura() {
		return estatura;
	}

	public void setEstatura(double estatura) {
		this.estatura = estatura;
	}

	public String generarXml() {
		String xml = 
			"<persona>" +
				"<primerNombre>" + this.primerNombre + "</primerNombre>" +
				"<segundoNombre>" + this.segundoNombre + "</segundoNombre>" +
				"<primerApellido>" + this.primerApellido + "</primerApellido>" +
				"<segundoApellido>" + this.segundoApellido + "</segundoApellido>" +
				"<edad>" + this.edad + "</edad>" +
				"<fechaNacimiento>" + this.fechaNacimiento + "</fechaNacimiento>" +
				"<estatura>" + this.estatura + "</estatura>" +
			"</persona>";
		return xml;
	}

	public String generarXml3() throws Exception {
		String xml = "";
		xml += "<persona>";
		Field[] propiedades = this.getClass().getDeclaredFields();
		for (Field field : propiedades) {
			xml += "<" + field.getName() + ">" + field.get(this) + "</" + field.getName() + ">";
		}
		xml += "</persona>";
		return xml;
	}
	
}
